From: Colin Walters Date: Wed, 11 Nov 2009 18:12:55 +0000 (-0500) Subject: [lookingGlass] Paint border around current result if instanceof Clutter.Actor X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~10684 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1b75ae018471b5cfe9e07d4d93f67daceb3c62c1;p=gnome-shell.git [lookingGlass] Paint border around current result if instanceof Clutter.Actor It's very convenient to drill down through object properties and be able to see exactly which portion of the screen those actors correspond to, without trying to guess with the inspector tool. --- diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js index 35431f0ad..afe99b864 100644 --- a/js/ui/lookingGlass.js +++ b/js/ui/lookingGlass.js @@ -320,6 +320,10 @@ LookingGlass.prototype = { this._savedText = null; this._historyNavIndex = -1; this._history = []; + this._borderPaintTarget = null; + this._borderPaintId = 0; + this._borderDestroyId = 0; + this._readHistory(); this._open = false; @@ -487,6 +491,18 @@ LookingGlass.prototype = { this._results.push(result); this._resultsArea.append(result.actor, Big.BoxPackFlags.NONE); this._propInspector.setTarget(obj); + if (this._borderPaintTarget != null) { + this._borderPaintTarget.disconnect(this._borderPaintId); + this._borderPaintTarget = null; + } + if (obj instanceof Clutter.Actor) { + this._borderPaintTarget = obj; + this._borderPaintId = Shell.add_hook_paint_red_border(obj); + this._borderDestroyId = obj.connect('destroy', Lang.bind(this, function () { + this._borderDestroyId = 0; + this._borderPaintTarget = null; + })); + } let children = this._resultsArea.get_children(); if (children.length > this._maxItems) { this._results.shift(); @@ -582,6 +598,12 @@ LookingGlass.prototype = { this._open = false; Tweener.removeTweens(this.actor); + if (this._borderPaintTarget != null) { + this._borderPaintTarget.disconnect(this._borderPaintId); + this._borderPaintTarget.disconnect(this._borderDestroyId); + this._borderPaintTarget = null; + } + Main.popModal(this.actor); Tweener.addTween(this.actor, { time: 0.5,